/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ControleAcademico.View;

import ControleAcademico.Model.Dao.ProfessorDaoImp;
import ControleAcademico.Model.Pojo.Professor;
import java.io.*;
/**
 *
 * @author arthur
 * @author renan
 * @author tais
 * @author vinicius
 */
public class MenuProfessor {
    
    // Atributos
    private ProfessorDaoImp professorDao;
    
    // Metodos
    public MenuProfessor () {
        
    }
    
    public void criaListaVazia() {
        this.professorDao = new ProfessorDaoImp();
    }
    
    public ProfessorDaoImp getProfessorDao () {return this.professorDao;}
    
    public void registrarProfessor(){
        System.out.println("Informe o nome do professor: \n");
        String nome = Console.readString();
        System.out.println("Informe o CPF do professor: \n");
        String cpf = Console.readString();      
        System.out.println("Informe o departamento do professor: \n");
        String departamento = Console.readString(); 
        
        int id = this.professorDao.obterLista().size() + 1;
        Professor professor = new Professor(nome,cpf,departamento, id);
        
        try {
            this.professorDao.adicionar(professor);

        } catch (IOException ex) {
            System.out.println("Professor não inserido.\nProfessor já consta na lista.");
        }
        
    }
    
    public void salvar() {
        
        try {
            File arquivo;  
  
            arquivo = new File("Professores.txt");  
            FileOutputStream fos = new FileOutputStream(arquivo);
            
            
            for (Professor a : getProfessorDao().obterLista()) {

                String escrita = (a.getId() + "\t" + a.getNome() + "\t" + a.getCpf() 
                        + "\t" + a.getDepartamento() + "\n");
                fos.write(escrita.getBytes());

            }
            
            fos.close();  

        }catch (Exception ee) {  
            System.out.println(ee);
        }
    
    }
     
        
    public void load() {
        
        try {
            
            File entrada = new File("Professores.txt");
            InputStream leituraEntrada = new  FileInputStream(entrada);
            InputStreamReader leituraStream = new InputStreamReader(leituraEntrada);  
            BufferedReader leituraBuffer = new BufferedReader(leituraStream);

            String linha = leituraBuffer.readLine();
            this.criaListaVazia();
     
            while(linha!= null) {
                String s[] = linha.split("\\t");
                Professor novoProfessor = new Professor(s[1],s[2],s[3],Integer.parseInt(s[0]));
                this.getProfessorDao().adicionar(novoProfessor);
                linha = leituraBuffer.readLine();
            }


            leituraBuffer.close();
            leituraStream.close();
            leituraEntrada.close();
  
        }catch (Exception ee) {  
            System.out.println("Erro na leitura do arquivo.");
            ee.printStackTrace();  
        }
    }
    
}
